package com.kaifamiao.anonymous;

/**
 * 使用 匿名类 继承 抽象类 并实现其中的全部抽象方法
 */
public class AnonymousClassTest2 {

	public static void main(String[] args) {
		
		// 变量 h 的 编译时类型 是 Human
		Human h = new Human( "姜禹志" ) {
			@Override
			public void eat(String food) {
				System.out.println( this.name + "吃" + food );
			}
		};
		
		// 变量 h 的 运行时类型 是 Human 类的子类类型
		Class<?> c = h.getClass();
		System.out.println( c.getName() );
		
		Class<?> p = c.getSuperclass(); // 获得c所表示类的父类
		System.out.println( p.getName() );
		
		h.eat( "红烧肘子" );
		
	}

}
